using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("OptionsMigration")]
	public class OptionsMigration : MonoClass
	{
		public static int LATEST_CLIENT_VERSION => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "LATEST_CLIENT_VERSION");

		public static int LATEST_SERVER_VERSION => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "LATEST_SERVER_VERSION");

		public OptionsMigration(IntPtr address, string className)
			: base(address, className)
		{
		}

		public OptionsMigration(IntPtr address)
			: this(address, "OptionsMigration")
		{
		}

		public static bool UpgradeClientOptions()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeClientOptions", Array.Empty<object>());
		}

		public static bool UpgradeClientOptions_V2()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeClientOptions_V2", Array.Empty<object>());
		}

		public static bool UpgradeClientOptions_V3(int startingVersion)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeClientOptions_V3", new object[1] { startingVersion });
		}

		public static bool UpgradeServerOptions()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeServerOptions", Array.Empty<object>());
		}

		public static bool UpgradeServerOptions_V2()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeServerOptions_V2", Array.Empty<object>());
		}

		public static bool UpgradeServerOptions_V3(int startingVersion)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeServerOptions_V3", new object[1] { startingVersion });
		}

		public static bool UpgradeServerOptions_V4(int startingVersion)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "OptionsMigration", "UpgradeServerOptions_V4", new object[1] { startingVersion });
		}
	}
}
